草庐IT

c++ - std::transform 的泛化

全部标签

c++ - 帮助在 std::map 中存储模板类的 intrusive_ptr

我在boost::intrusive_ptr中包含一个Locker类型的小模板类,我想将其存储在std::map中:templateboolLockerManager::AddData(conststd::string&id,T*pData){boost::intrusive_ptr>lPtr(Locker(pData));//Line359-compilesmMap.insert(make_pair(id,lPtr));//Line361-giveserror}Locker只是一个容器类;它的构造函数看起来像:templateLocker::Locker(T*pData):Intru

c++ - 使用 GDB 在 Windows 下调试 DLL

我有一些项目由几个DLL组成,这些DLL是用MinGW编译的,带有调试信息,另一个项目的EXE目标使用这些DLL(也是用MinGW编译的)。问题是,我需要在那些DLL中的函数上放置断点,但是GDB虽然设置了断点,但只是在运行时默默地忽略了它们。进入它们(使用's'键)只是跳过它们(就像使用'n'键一样)。我怎样才能进入那些DLL?也许我应该为GDB指定一些选项?提前致谢。 最佳答案 确保使用gccoptimizationlevel进行编译标志设置为0(-O0)。 关于c++-使用GDB在

c# - 串行端口重定向或拆分

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我正在寻找有关如何进行串行端口重定向或端口拆分的书籍和/或代码示例。我编写了很多com端口应用程序,并想编写一个监视器应用程序,使我能够监视应用程序和设备之间的串行端口。所以我希望能够将串行端口重定向到另一个端口,以便我可以监控端口之间的数据流动。我理解在某些情况下这必须在内核级别完成。(在USB情况下)我在C#中使用system.IO.Ports编写了监控应用程序。

c++ - 你如何在 XCode + C++ 中使用 std::vector?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。出于各种原因(我向你保证它们是有效的,所以请不要谈论“使用Cocoa”),我必须使用XCode、C++、OpenGL、OpenCL(附带一点GLUT)来重建一些图形Mac上的演示(来自XP+VisualStudio2005开发)。该项目是使用“c++stdc++”作为命令行工具构建的。我的Program.h文件将我的着色器对象连接在一起、编译、链接,并以

c++ - 在 C 或 C++ 中从 LaTeX 制作 PNG|jpeg

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我正在寻找一个C或C++库(或更聪明的解决方案),它可以从LaTeX代码生成图像文件(PNG|jpeg)。使用包是先决条件。现在我正在考虑将一个.tex文件编译成一个.dvi并使用dvipng来获得一个.PNG。还有可能将.tex文件编译为.ps文件,然后通过pstopng或pstoedit等外部实用程序将其转换为.PNG.但这些解决方案很麻烦,而且并不总是可移植的。

c++ - 在 C 中声明 == 在 C++ 中定义?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Whatisthedifferencebetweenadefinitionandadeclaration?在C中声明等于在C++中定义是否正确?inta;/*todeclarevariabelainC*/intb=2;/*todeclareandinitializeinC*/intc;//todefineinC++intd=4;//todefineandinitializeinC++

java - 将 std*** 从 C++ 重定向到 Java 以进行日志记录

我有一个C++应用程序和一个Java应用程序需要以相同的方式记录消息。我的Java应用程序使用由Log4j配置支持的ApacheCommonsLogging。我需要一个log4j配置,这样我就可以在一个位置更改我的日志记录首选项。在我的C++应用程序中,我捕获了对printf()和fprintf(std***)的所有调用,并且我认为我有以下选项:在我的C++应用程序中fork,从(f)printf()调用创建一个管道到新进程标准输入,然后启动一个Java程序,该程序使用CommonsLogging从标准输入和日志中读取使用JNI的JNI_CreateJVM()在C++应用程序中创建JV

c++ - 替换 msvc 上的 vsscanf

我在将代码库从linux(gcc)移植到windows(msvc)时遇到了问题。似乎C99函数vsscanf不可用并且没有明显的替代品。我读过有关使用内部函数_input_l并静态链接到crt运行时的解决方案,但不幸的是我无法静态链接,因为它会混淆应用程序加载的所有插件(作为dll)。那么是否有任何替代品或为vsscanf编写包装器的方法?2016-02-24更新:当第一次询问时没有本地替代品,但从那时起MSVC已经实现了对此的支持以及更多。VS2013并稍后实现vsscanf和friend。C++11也包括支持。 最佳答案 一个应

c# - 插入比特流

我正在寻找一种有效地将位插入位流并使其“溢出”并用0填充的方法。因此,例如,如果您有一个包含2个字节的字节数组:231和109(1110011101101101),并且执行了BitInsert(byteArray,4,00),它将在位偏移量4处插入两位,使得111000011101101101000000(225,219,24).即使该方法只允许1位插入也可以,例如BitInsert(byteArray,4,true)或BitInsert(byteArray,4,false),但该方法必须独立于比特流长度(流可能跨越数百个字节)。我有一种方法可以做到这一点,但它必须一点一点地使用位掩码

c++ - 从 C 代码中调用 R 脚本

有没有办法在C代码中调用R脚本?我确实找到了C的RApi(“编写R扩展”手册的第6章),但据我所知,这“只”允许调用R的C实现。当然我可以通过shell调用R-Script,但这对我来说不是解决方案,因为这不允许正确传递数据(如果我不知道将数据写入Csv文件或类似文件,至少不允许)。是否有预先使用R到C解析器的简单方法? 最佳答案 您有什么理由不想嵌入它吗?这包含在这个问题中:RfromC—SimplestPossibleHelloworld… 关于c++-从C代码中调用R脚本,我们在S